Storage area networks (SANs) or storage network environments are dedicated networks for enabling multiple applications on hosts access to data stored in consolidated shared storage infrastructures. In storage network environments, it may be important to detect changes and determine the implications of these changes on the storage service levels provided to applications and hosts. Enterprises are deploying increasingly large-scale SANs in order to gain economies-of-scale business benefits, and are performing and planning massive business-critical migration processes to these new environments.
Enterprise SANs are increasingly supporting most of the business critical applications in enterprises. These SAN are increasingly large and complex. A typical SAN environment in a Fortune 500 company may contain hundreds or thousands of servers and tens or hundreds of switches and storage devices of different types. Furthermore these SAN environments are undergoing a large amount of change and growth.
This large size and rate of growth of SANs leads to huge added complexity. The number of components and links which may be associated with the data transfer from each given application and one or more of its data units may increase exponentially with the size of the SAN. This complexity, which is compounded by the heterogeneity of the different SAN devices, leads to high risk and inefficiency. Changes to the SAN (which need to happen often due to the natural growth of the SAN) take a long time to complete by groups of SAN managers, and are error-prone. For example, in many existing enterprises a routine change (such as adding a new server to a SAN) may take 1-2 weeks to complete, and a high percentage of these change process (sometime as high as 30-40%) include at least one error along the way. It is estimated that around 80% of enterprise SAN outage events are a result of some infrastructure change-related event.
The end-points in SAN flows generally have a relatively strong exclusive access relationship. That is, each application on a SAN-connected host typically requires access, and often exclusive access, only to some specific SAN data objects (LUNs). Consequently, in storage area networks each source end point, i.e., the application on a host, will typically need to interact only, and often exclusively, with a specific, small number of target end points, e.g., the LUNs on the network storage devices.
However, access relationships and their related access characteristics actually need to be realized by setting up multiple underlying devices of different types. These underlying operations include multiple physical and logical basic set up actions which need to be set up in different locations and device types and with mutual consistency.
An access path or a logical access path will encompass a logical channel between a given application and a given data object, e.g. LUN, along which data may flow. In other words, a logical access path is typically, although not exclusively, a sequence of components starting with a specific application on a specific server via, for example, an HBA, and a sequence of one or more switches and physical links leading to a storage controller and a storage device containing a data object e.g. a LUN. The logical or configuration state of each component along the way in that sequence, for example, the HBA, the storage controller, or the switches, is set such as to not disable data flow between that specific application and that specific data object along that specific sequence.
Changes within a storage network environment are difficult to detect. For instance, a failure of a storage area network switch may eliminate an access path between two components on the network thereby disrupting the corresponding data flow. Because of the potentially very large number of components in the storage network environment, very frequent storage network environment changes, and large amount of local state information of each component, and because of the complexity of performing the correlation of the information and analysis of the end-to-end access paths and attributes, any change detection approach needs to be very efficient to perform the task of detecting changes effectively in realistic environments.
Currently, there are no adequate technological solutions to assist SAN administrators in discovering relevant changes in SAN state, particularly in relation to application-data requirements. Most, if not all, current solutions rely on host agents in hosts within the SAN to collect a partial set of information. Using this partial set of information, SAN administrators then rely on manual methods, spreadsheet based information, and trial and error. Furthermore, host agents are very difficult to manage and/or maintain, and are widely considered undesirable for large SANs in which scalability may be important.
Therefore, there is a need for a solution to the problem of efficiently discovering state change events in components in storage area network environments, mapping these changes to access paths and storage service levels for applications and/or hosts, and mapping between host identifiers in the storage environment to the identifiers of those hosts in other enterprise data center environments.